home *** CD-ROM | disk | FTP | other *** search
- /****************************************
- File: HandleTheMenus
- Function: Create and Handle any menus.
- ****************************************/
- #define TRUE 1
- #define FALSE 0
-
- #define AppleMenuID 1001
- #define FileMenuID 1002
- #define QuitItem 1
- #define MixedMenuID 1003
- #define ThreeOneItem 1
- #define TwoTwoItem 2
- #define TwoOneOne 3
- #define OneOneOneOneItem 4
- #define MixColorItem 6
-
- MenuHandle AppleMenu, FileMenu, MixedMenu;
- int checkmark = 1;
-
- /* External routines that are called */
- extern int checkmark;
- extern WindowPtr MyWindow;
- extern void D_Mixed_Colors();
-
- void InitMyMenus(void);
- void HandleMenu(char *doneFlag, short theMenu, short theItem);
-
- void InitMyMenus()
- /* InitMyMenus() gets the menu resources
- and creates the menu bar */
- {
- ClearMenuBar();
-
- /* Apple menu */
- AppleMenu = GetMenu(AppleMenuID);
- InsertMenu (AppleMenu,0);
- AddResMenu(AppleMenu,'DRVR');
-
- /* File menu */
- FileMenu = GetMenu(FileMenuID);
- InsertMenu (FileMenu,0);
-
- /* Mixed menu */
- MixedMenu = GetMenu(MixedMenuID);
- InsertMenu (MixedMenu,0);
-
- DrawMenuBar();
- }
-
- void HandleMenu(doneFlag,theMenu,theItem)
- char *doneFlag;
- short theMenu,theItem;
- {
- GrafPtr SavePort;
- Str255 DAName;
- short DNA;
-
- switch (theMenu) {
- case AppleMenuID:
- GetPort(&SavePort);
- GetItem(AppleMenu, theItem, &DAName);
- DNA = OpenDeskAcc(DAName);
- SetPort(SavePort);
- break;
-
- case FileMenuID:
- if (theItem == QuitItem)
- *doneFlag = TRUE;
- break;
-
- case MixedMenuID:
- switch (theItem) {
- case ThreeOneItem:
- case TwoTwoItem:
- case TwoOneOne:
- case OneOneOneOneItem:
- CheckItem(MixedMenu, checkmark, 0);
- checkmark = theItem;
- CheckItem(MixedMenu, checkmark, 1);
- SetPort(MyWindow);
- InvalRect(&(MyWindow->portRect));
- break;
- case MixColorItem:
- D_Mixed_Colors();
- break;
- }
- break;
- }
-
- HiliteMenu(0);
- }
-
-
-